package com.pc.admin.controller;


import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;
import com.pc.admin.entity.StreetMap;
import com.pc.admin.service.IStreetMapService;
import com.pc.admin.util.BaseJsonParam;
import com.pc.admin.util.BaseResultEntity;
import com.pc.admin.util.PageDataEntity;
import com.pc.admin.util.PageParam;
import com.pc.admin.vo.StreetMapVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;

@RestController
@RequestMapping("/risk/streetMap")
@Api(tags = "区域经济路网密度")
public class StreetMapController {

    @Autowired
    private IStreetMapService iStreetMapService;

    @PostMapping("/page")
    @ApiOperation(value = "区域经济路网密度分页查询")
    public BaseResultEntity<PageDataEntity<StreetMapVO>> page(@RequestBody @Valid BaseJsonParam<PageParam<StreetMapVO>> param ) {
        PageParam<StreetMapVO> page = param.getParam();
        page.valid();
        PageDataEntity result = BeanUtil.copyProperties(iStreetMapService.selectPage(page), PageDataEntity.class);
        return BaseResultEntity.success(result);
    }

//    public static void main(String[] args) {
//        BaseJsonParam<PageParam<StreetMapVO>> param =new BaseJsonParam();
//        StreetMapVO streetMapVO = new StreetMapVO();
//        streetMapVO.setCity("sas");
//        streetMapVO.setAdminLevel("sad");
//        PageParam pageParam = new PageParam(1, 10, streetMapVO);
//        param.setParam(pageParam);
//        System.out.println(JSONUtil.toJsonStr(param));
//    }

}
